blob: 0a77322f38ef27700721773b76fa0b6d64a13309 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
PARTIE 3 branche et fusion
"git pull" est en fait la combinaison de deux commandes "fetch" et "merge"
obtenir les modifications du dépôt distant sans mettre à jour le dépôt local
git fetch
fusionner ces modifications avec le dépôt local
des conflits peuvent se produire si deux personnes ont touché au même fichier
git merge
note: lorsqu'on crée une branche on doit dire à git de quelle branche distante elle dérive
doit être fait une fois par nouvelle branche
git push --set-upstream
note: un git merge réussit équivaut à un commit
on peut aussi merge sans commit (pour changer d'autres truc avant de commit)
git merge --no-commit
on va créer des branche et provoquer un conflit pour voir ce qu'il se passe
- add, commit, push un dépôt un fichier avec les paroles d'une chanson
- créer une branche "branche1"
git checkout -b "branche1"
- modifier le ficher, add, commit, et push comme ci-dessous
git push --set-upstream origin branche1
- revenir à la branche "master"
git checkout master
- créer une branche 2
git checkout -b "branche2"
- modifier le ficher, add, commit et push
git push --set-upstream origin branche2
- revenir à la branche "master"
git checkout master
- fusionner la branche 1 dans master (c'est là qu'on est)
git merge branche1
- fusionner la branche 2 dans master
git merge branche2
une erreur apparaît à cause du conflit lors de la fusion de la branche 2
un conflit dans le fichier en question ne permet pas la fusion automatique
git status montre des commandes possibles
pour résoudre le problème:
- méthode 1: éditer les fichiers et retenter une fusion
- les fichiers à éditer sont ceux de la branche dans laquelle on fusionne (ici master)
- après un git add, un git status indique si le conflit est résolu
et nous rappelle qu'une fusion est toujours en court
add, commit, push
- méthode 2: abandonner la fusion
git merge --abort
éventuellement, pour supprimer une branche
git branch -d
git branch -D ajoute le paramètre --force
|